mongodump, mongorestore

MongoDB 백업 및 복원 가이드 (mongodump & mongorestore)

MongoDB에서 데이터를 백업하고 복원하는 방법으로 mongodumpmongorestore 도구를 사용할 수 있습니다. 이 문서는 mongodumpmongorestore의 사용법과 옵션을 설명합니다.


1. mongodump를 이용한 백업

mongodump는 MongoDB 데이터를 BSON 형식으로 백업하는 도구입니다. 기본적으로 컬렉션을 BSON 형식의 파일로 저장하며, 이후 복원할 수 있도록 지원합니다.

1.1 기본 사용법

mongodump --out /백업경로

위 명령어는 MongoDB의 기본 인스턴스(localhost:27017)에서 데이터를 덤프하여 지정된 /백업경로에 저장합니다.

1.2 특정 데이터베이스 백업

mongodump --db mydatabase --out /backup/mongodb

1.3 특정 컬렉션 백업

mongodump --db mydatabase --collection mycollection --out /backup/mongodb

1.4 원격 서버에서 백업

mongodump --host example.com --port 27018 --db mydatabase --username user --password pass --out /backup/mongodb

1.5 압축하여 백업하기

mongodump --db mydatabase --archive=/backup/mongodb.gz --gzip

2. mongorestore를 이용한 복원

mongorestoremongodump로 생성된 BSON 데이터를 복원하는 도구입니다.

2.1 기본 사용법

mongorestore /백업경로

2.2 특정 데이터베이스 복원

mongorestore --db newdatabase /backup/mongodb/mydatabase

2.3 특정 컬렉션 복원

mongorestore --db mydatabase --collection mycollection /backup/mongodb/mydatabase/mycollection.bson

2.4 원격 서버에 복원

mongorestore --host example.com --port 27018 --db mydatabase --username user --password pass /backup/mongodb/mydatabase

2.5 압축된 백업 파일 복원

mongorestore --gzip --archive=/backup/mongodb.gz

2.6 기존 데이터 덮어쓰기 (주의!)

mongorestore --drop --db mydatabase /backup/mongodb/mydatabase

2.7 컬렉션 이름 변경하여 복원 (--nsFrom, --nsTo)

mongorestore --nsFrom=mydatabase.old_collection --nsTo=mydatabase.new_collection /backup/mongodb

3. 주의사항 및 베스트 프랙티스

  1. 백업 주기 설정: 중요한 데이터는 주기적으로 백업하여 데이터 손실을 방지해야 합니다.
  2. 백업 데이터 보관: 백업 파일을 안전한 장소(예: 클라우드 스토리지, 외부 스토리지)에 보관해야 합니다.
  3. 테스트 복원: 백업 데이터가 정상적으로 복원되는지 정기적으로 확인해야 합니다.
  4. --drop 옵션 주의: 기존 데이터를 삭제하는 --drop 옵션을 사용할 때는 신중해야 합니다.
  5. 보안 고려: 원격 서버에서 백업 및 복원 시 보안 설정(예: 인증, SSH 터널링 등)을 고려해야 합니다.

이 문서를 참고하여 MongoDB 데이터를 효과적으로 백업하고 복원하세요!